package cn.edu.wynu.pkg;

// API(全称Application Programming Interface:应用程序编程接口)
// 就是别人写好的一些程序，给程序员直接拿去调用即可解决问题。

// 什么是包?包是用来分门别类的管理各种不同程序的，类似于文件夹，建包有利于程序的管理和维护


import cn.edu.wynu.pkg.dys.Demo2;
import cn.edu.wynu.pkg.itcast.Demo1; // 导入itcast包下的Demo1类

import java.util.Random;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        // 在自己程序中调用其他包下的程序的注意事项：

        // 1、如果当前程序中，要调用自己所在包下的其他程序，可以直接调用。(同一个包下的类，互相可以直接调用)
        Demo d = new Demo(); // 调用Demo类，创建对象
        d.print(); // 调用Demo类中的print方法;

        // 2、如果当前程序中，要调用其他包下的程序，则必须在当前程序中导包,才可以访问!导包格式:import 包名.类名;
        Demo1 d1 = new Demo1(); // 调用Demo1类，创建对象
        d1.print();

        // 3、如果当前程序中，要调用ava提供的程序，也需要先导包才可以使用;但是ava.lang包下的程序是不需要我们导包的，可以直接使用。
        Scanner sc = new Scanner(System.in); // System是在ava.lang包下的，所以可以直接使用，不用导包。
        String s = "hello"; // String也是在ava.lang包下的，所以可以直接使用，不用导包。
        Random r = new Random(); // 需要导包。

        // 4、如果当前程序中，要调用多个不同包下的程序，而这些程序名正好一样，此时默认只能导入一个程序，另一个程序必须带包名访问。
        Demo2 d3 = new Demo2(); //
        d3.print();

        cn.edu.wynu.pkg.itcast.Demo2 d4 = new cn.edu.wynu.pkg.itcast.Demo2();
        d4.print();
    }
}
